Method and system for turbo encoding in ADSL

ABSTRACT

In a coding system for asymmetric digital subscriber line (ADSL) communications, a method of encoding a sequence of information bits is provided comprising the steps of dividing the information bits into encoding bits and parallel bits; encoding the encoding bits to produce encoded bits; mapping the encoded bits and the parallel bits into first and second pulse amplitude modulation (PAM) signals; and generating a quadrature amplitude modulation (QAM) signal from these first and second PAM signals. This method overcomes the decoder complexity that would otherwise be required due to the large QAM constellations involved for ADSL communications.

CROSS-REFERENCES TO RELATED APPLICATIONS

[0001] Not Applicable

STATEMENT AS TO RIGHTS TO INVENTIONS MADE UNDER FEDERALLY SPONSOREDRESEARCH OR DEVELOPMENT

[0002] Not Applicable

REFERENCE TO A “SEQUENCE LISTING,” A TABLE, OR A COMPUTER PROGRAMLISTING APPENDIX SUBMITTED ON A COMPACT DISK

[0003] Not Applicable

BACKGROUND OF THE INVENTION

[0004] The invention relates to the field of asymmetric digitalsubscriber line (ADSL) communication systems. More specifically, theinvention relates to a system and method for encoding signals applied toADSL.

[0005] Channel coding methods are used in order to design reliabledigital communication systems. Although channel coding improves errorperformance through the mapping of input sequences into code sequences,this adds redundancy and memory to the transmission. Shannon's Theoremholds that small error rates are achievable provided that the rate oftransmission is less than the capacity of the channel.

[0006] In the early 1990's, a very powerful channel coding scheme wasdeveloped which used concepts related to block and trellis codes. Theencoding scheme used simple convolutional codes separated byinterleaving stages to produce generally low rate block codes. Decodingwas performed by decoding the convolutional encoders separately using a“soft” output Viterbi algorithm and sharing bit reliability informationin an iterative manner. This new coding scheme was called “Turbo Coding”and it was found to be capable of near Shannon capacity performance asdescribed in C. Berrou and A. Glavieux, “Near Optimum Error CorrectingCoding And Decoding: Turbo-Codes”, IEEE Trans. Commun., vol. COM-44, No.10, October 1996, pp. 1261-1271.

[0007] In general, a turbo encoder is a combination of two simpleencoders where the input is a block of M information bits. The twoencoders generate parity symbols using simple recursive convolutionalencoders each with a small number of states. The information bits arealso transmitted uncoded. A key innovation of turbo encoders was the useof an interleaver which permutes the original M information bits beforeinput to the second encoder. The permutation is generally such thatinput sequences for which the first encoder produces low-weightcode-words will typically cause the second encoder to producehigh-weight code-words. Thus, even though the constituent codes may beindividually weak, the combination code is powerful. This resulting codehas features that are similar to a random block code with M informationbits. Random block codes are known to achieve Shannon-limit performanceas M increases but with a corresponding increase in decoder complexity.

[0008] Turbo codes may achieve the performance of random codes (forlarge M) using an iterative decoding algorithm based on simple decodersthat are individually matched to the constituent codes. In a typicalturbo decoder, each constituent decoder generally sends a posteriorilikelihood estimates of the decoded bits to the second decoder and usesthe corresponding estimates from the second decoder as a priorilikelihood estimates. The decoders generally use the maximum aposteriori (MAP) bitwise decoding algorithm which requires the samenumber of states as the well-known Viterbi algorithm. The turbo decoderiterates between the outputs of the two constituent decoders untilreaching satisfactory convergence. The final output is a “hard”quantized version of the likelihood estimates of either of the decoders.

[0009] As turbo codes have a near Shannon limit, error correctingperformance, they are of potential use in a wide range oftelecommunications applications. As mentioned, turbo codes wereoriginally proposed for binary modulation using two binary convolutionalcomponent codes separated by an interleaver. For moderate QAM(quadrature amplitude modulation) constellation modulation, bit-levelturbo coded QAM and symbol-level turbo TCM (trellis coded modulation)have been proposed as described in P. Robertson and T. Worz,“Bandwidth-Efficient Turbo Trellis-Coded Modulation Using PuncturedComponent Codes”, IEEE J-SAC, vol. 16, No. 2, February 1998, pp.206-218; S. L. Goff, A. Glavieux and C. Berrou, “Turbo-Codes and HighSpectral Efficiency Modulation”, IEEE ICC94, pp. 645-649, 1994; and “NewProposal of Turbo Codes for ADSL Modems”, ITU Standard Contribution,Study Group 15/4, BA-020R1, Antwerp, Belgium, Jun. 19-23, 2000.

[0010] Typically, bit-level turbo coded QAM combines the binary turbocodes with large constellation modulation using Gray mapping, whereassymbol-level turbo TCM uses TCM codes as component codes that areseparated by a symbol-level interleaver.

[0011] A problem arises in the deployment of turbo codes in ADSL(asymmetric digital subscriber line) communication systems where thesecodes are combined with very large modulation constellations. Theseconstellations may be as large as 2¹⁵ (32768) QAM symbols. Forconventional bit-level turbo coded QAM using Gray mapping, the de-mapper(which calculates the soft information bits from the receivedconstellation signal) requires an excessive number of computations. Inaddition, the turbo decoder's complexity (i.e., length) is proportionalto the number of bits transmitted in one constellation symbol.Therefore, the overall receiver becomes very complicated. Forsymbol-level turbo TCM using two-dimensional or four-dimensional setpartitioning mapping, the turbo decoder's length is independent of thenumber of bits transmitted in one constellation symbol, but itsde-mapper still requires an excessive number of computations.Furthermore, the decoder uses a much more complicated symbol MAPdecoder. Consequently, the very large constellation size used in ADSLsystems makes both conventional bit-level turbo coded QAM andsymbol-level turbo TCM very complicated to decode at the receiver end.In other words, conventional bit-level turbo coded QAM and symbol-levelturbo TCM both have very high decoding complexity for large ADSL relatedconstellations. These techniques are described in S. Benedetto, D.Divsalar, G. Montorsi and F. Pollara, “Parallel Concatenated TrellisCoded Modulation”, IEEE ICC96, 1996, pp. 974-978; L. Bahl, J. Cocke, F.Jelinek and J. Raviv, “Optimum Decoding of Linear Codes for MinimizingSymbol Error Rate”, IEEE Trans. Inform. Theory, vol. IT-20, pp. 284-287,March 1974; J. Hagenauer and P. Hoeher, “A Viterbi Algorithm withSoft-Decision Outputs and Its Application”, IEEE GLOBECOM89, pp.47.1.1-47.1.7, November 1989; D. Divsalar, “Turbo Codes for PCSApplications”, IEEE ICC95, pp. 54-59, 1996; P. Robertson, “Illuminatingthe Structure of Parallel Concatenated Recursive Systematic (TURBO)Codes”, IEEE GLOBECOM94, pp. 1298-1303, November 1994; S. Benedetto, D.Divsalar, G. Montorsi and F. Pollara, “Parallel Concatenated TrellisCoded Modulation”, IEEE ICC96, 1996, pp. 974-978; and G. Ungerboeck,“Channel Coding with Multilevel/Phase Signals”, IEEE Trans. Inform.Theory, vol. IT-28, No. 1, January 1982, pp. 55-67.

[0012] A need therefore exists for a method and system that will allowfor the effective use of turbo coding in ADSL communication systems.

BRIEF SUMMARY OF THE INVENTION

[0013] In accordance with this invention there is provided a method forthe encoding sequence of information bits in a digital signal. Themethod comprises the steps of dividing the information bits intoencoding bits and parallel bits; encoding the encoding bits to produceencoded bits; mapping the encoded bits and the parallel bits into firstand second PAM signals; and generating a QAM signal from these first andsecond PAM signals. According to another aspect of the invention thereis provided a coding system that implements the above-described method.The coding system generally includes parallel-to-serial transfer means,interleaver means, encoder means, puncturing means, mapper means, andmode control means. The coding system may be implemented by monitoringdata that represents sequences of instructions which when executed causethe above-described method to be performed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The invention may best be understood by referring to thefollowing description and accompanying drawings which illustrate theinvention. In the drawings:

[0015]FIG. 1 is a block diagram of a turbo coding system in accordancewith a preferred embodiment of the invention;

[0016]FIG. 2 shows three line diagrams illustrating concatenated Graymappings for 4-ASK, 8-ASK, and 16-ASK, respectively, in accordance witha preferred embodiment of the invention;

[0017]FIG. 3 is a block diagram of a turbo coding system with codingrate 2m/(2m+2), where m>0, in accordance with one embodiment of theinvention;

[0018]FIG. 4 is a block diagram of a turbo coding system with codingrate (2m+1)/(2m+2), where m>0, in accordance with another embodiment ofthe invention;

[0019]FIG. 5 is a block diagram of a universal turbo coding system usingmode control with coding rates 2m/(2m+2) and (2m+1)/(2m+2), where m>0,in accordance with the invention;

[0020]FIG. 6 is a block diagram of a general turbo coding system usingan arbitrary turbo coding method with coding rate 2m/(2m+2), where m>0,in accordance with one embodiment of the invention;

[0021]FIG. 7 is a block diagram of a general turbo coding system usingany turbo coding method with coding rate (2m+1)/(2m+2), where m>0, inaccordance with another embodiment of the invention;

[0022]FIG. 8 is a block diagram of a universal turbo coding systemsimilar to the embodiment of FIG. 5 using mode control and any turbocoding method with coding rates 2m/(2m+2) and (2m+1)/(2m+2), where m>0;

[0023]FIG. 9 is a block diagram of a turbo product or low-density paritycheck coding system with coding rate 2m/(2m+2), where m>0, in accordancewith a preferred embodiment;

[0024]FIG. 10 is a block diagram of a turbo product or low-densityparity check coding system with coding rate (2m+1)/(2m+2), where m>0, inaccordance with a preferred embodiment;

[0025]FIG. 11 is a block diagram of a universal turbo product orlow-density parity check coding system using mode control with codingrates 2m/(2m+2) and (2m+1)/(2m+2), where m>0, in accordance with apreferred embodiment;

[0026]FIG. 12 is a block diagram of a turbo coding system with codingrate 2m/(2m+2), where m>0, where the six least significant bits areencoded by turbo codes, and where the puncturing rate is ¾, inaccordance with a preferred embodiment;

[0027]FIG. 13 is a block diagram of a turbo coding system with codingrate (2m+1)/(2m+2), where m>0, where the six least significant bits areencoded by turbo codes, and where the puncturing rate is {fraction(9/10)} in accordance with a preferred embodiment;

[0028]FIG. 14 is a block diagram of a bit level turbo TCM system inaccordance with the prior art;

[0029]FIG. 15 is a block diagram of a turbo TCM encoder system withcoding rate R=½ for 4 QAM or a group of two 2 QAM in accordance with apreferred embodiment;

[0030]FIG. 16 is a block diagram of a turbo TCM encoder system withcoding rate R=(2+2m)/(4+2m) for MQAM, where M16 and M=2m, in accordancewith a preferred embodiment;

[0031]FIG. 17 is a block diagram of a turbo TCM encoder system withcoding rate R=(3+2m)/(4+2m) for MQAM, where M16 and M=2m;

[0032]FIG. 18 is a block diagram of a universal turbo TCM encoder systemMQAM in accordance with a preferred embodiment;

[0033]FIG. 19 is a block diagram of a symbol level turbo TCM system inaccordance with the prior art; and

[0034]FIG. 20 is a block diagram of a turbo TCM encoder system for smallconstellation sizes in accordance with a preferred embodiment.

DETAILED DESCRIPTION OF THE INVENTION

[0035] In the following description, numerous specific details are setforth to provide a thorough understanding of the invention. However, itis understood that the invention may be practiced without these specificdetails. In other instances, well-known software, circuits, structuresand techniques have not been described or shown in detail in order notto obscure the invention. In the drawings, like numerals refer to likestructures or processes.

[0036] The term asymmetric digital subscriber line (ADSL) is used hereinto refer to a technology for transmitting digital information whichsimultaneously transports high bit-rate digital information downstreamto a subscriber or customer, lower bit-rate data upstream from thesubscriber, and analog voice typically via a twisted-wire-pair.

[0037] The term amplitude shift keying (ASK) is used herein to refer toa modulation technique that uses one signal of constant frequency, butvaries the strength of the signal according to the state of the digitalinformation to be conveyed.

[0038] The term binary phase shift keying (BPSK) is used herein to referto a modulation technique wherein the phase of the RF carrier is shifted180 degrees in accordance with a digital bit stream.

[0039] The term discrete multi-tone (DMT) is used herein to refer to amulticarrier transmission technique that uses a Fast Fourier Transform(FFT) and Inverse FFT (IFFT) to allocate the transmitted bits among manynarrowband QAM modulated tones depending on the transport capacity ofeach tone.

[0040] The term “G.lite” is used herein to refer to a consumer-friendlysplitterless version of ADSL that typically offers downstream data ratesof up to 1.5 Mbps and upstream date rates of up to 384 kbps.

[0041] The term “G.dmt” is used herein to refer to a second standard forADSL that typically offers downstream data rates of up to 8 Mbps andupstream data rates of up to 1.5 Mbps. G.dmt requires the installationof a splitter at the consumer's premises.

[0042] The term “Gray code” is used herein to refer to a binary code inwhich consecutive decimal numbers are represented by binary expressionsthat differ in the state of one, and only one, bit.

[0043] The term low-density parity check (LDPC) code is used herein torefer to a binary code for which the parity check matrix is very sparse,having a small, fixed number of parity equations checking each bit, andeach parity equation checks the same number of bits.

[0044] The term maximum a posteriori (MAP) decoder is used herein torefer to a maximum likelihood decoder.

[0045] The term pulse amplitude modulation (PAM) is used herein to referto a modulation technique in which the amplitude of each pulse iscontrolled by the instantaneous amplitude of the modulating signal atthe time of each pulse.

[0046] The term quadrature amplitude modulation (QAM) is used herein torefer to a passband modulation technique which represents informationchanges in carrier phase and amplitude (i.e., real and imaginary parts).QAM is a method of combining two amplitude-modulated (AM) signals into asingle channel, thereby doubling the effective bandwidth. QAM is usedwith PAM in digital systems. In a QAM signal, there are two carriers,each having the same frequency but differing in phase by 90 degrees. Thetwo modulated carriers are combined at the source of transmission. Atthe destination, the carriers are separated, the data is extracted fromeach, and then the data is combined into the original modulatinginformation.

[0047] The term recursive systematic convolutional (RSC or SRC) code isused herein to refer to a code that takes the desired sequence to betransmitted as an input and produces an output sequence that containsthe original signal plus a shifted, weighted version of it, whichintroduces redundancy. Its implementation is typically carried out inhardware using shift registers, which basically consist of registers(i.e., memory allocations) and a clock that controls the shifting of thedata contained in the registers that is added to the original sequenceto produce the output. The word “recursive” in the term RSC code refersto the presence of a feedback connection. The word “convolutional” inthe term RSC code indicates that the code depends on the current bitsequence and the encoder state.

[0048] The term trellis coded modulation (TCM) is used herein to referto a convolutional code that provides coding gain without increasingbandwidth.

[0049] Finally, the term “coding system” is used herein to refer to anymachine for ADSL related encoding and decoding, including the circuitry,systems and arrangements described herein.

[0050] General Overview. The invention described herein provides amethod and system for turbo coding in ADSL communication systems. It isan advantage of the invention that its de-mapper requires fewercomputations than are required for a conventional de-mapper forbit-level coded QAM and symbol-level turbo TCM. It is a furtheradvantage of the invention that its decoder is independent of the numberof bits transmitted in the constellation signal. It is further advantageof the invention that the overall number of computations is less thanthat required for both bit-level and symbol-level turbo decoders. It isa further advantage of the invention that its mapping efficientlymaximizes the minimum Euclidean distance of uncoded bits while providinggood performance for turbo coded bits. It is a further advantage of theinvention that not only does it have as good an error performance asconventional bit-interleaved turbo coded QAM and symbol-interleavedturbo TCM methods, but it also has low decoding complexity when comparedwith conventional bit-interleaved turbo coded QAM.

[0051] In general, the method for turbo coding comprises the followingsteps:

[0052] (a) Information bits are divided into two categories, encodingbits and parallel bits. The encoding bits are passed into a turboencoder. The parallel bits bypass the turbo encoder. The encoder outputsare coded bits which consist of systematic bits and parity bits (i.e.,either all parity bits or partial parity bits).

[0053] (b) The coded bits and parallel bits are mapped into two PAMsignals. For small PAM, there are no parallel bits. The coded bits areused as least significant bits, and the parallel bits are used as themost significant bits. The number of coded bits to be mapped to PAM ispreferably two for transmitting an even number of bits and preferablythree for transmitting an odd number of bits. The mapping of coded bitsand parallel bits to PAM signals is performed using concatenated Graymapping where concatenated Gray mapping is a serial concatenation of aninner Gray mapping and an outer Gray mapping. The inner Gray mapping isused for the coded bits. The outer Gray mapping is used for the parallelbits.

[0054] (c) A QAM signal is generated by two PAM signals, one for thereal part and the other for the imaginary part.

[0055] (d) To transmit an even number of bits, say 2m bits, preferably2m-2 bits of the total 2m bits are parallel bits that will bypass theturbo encoder. The remaining preferably 2 bits will pass through theturbo encoder. Two parity bits are generated after puncturing. Theoverall bandwidth efficiency is 2m bits/Hz using QAM.

[0056] (e) To transmit an odd number of bits, say 2m+1 bits, preferably2m−2 bits of the total 2m+1 bits are parallel bits that will bypass theturbo encoder. The remaining preferably 3 bits will pass through theturbo encoder. One parity bit is generated after puncturing. The overallbandwidth efficiency is 2m+1 bits/Hz using QAM.

[0057] (f) Mode control may be employed in which a first mode may beused for transmitting an even number of bits and a second mode may beused for transmitting an odd number of bits.

[0058] (g) Alternate turbo codes such as serial concatenated turbo codesor multiple turbo codes may be used. Rather than using a turbo encoder,turbo product codes or LDPC codes may be used.

[0059] (h) Although the number of coded bits to be mapped to PAM ispreferably two, this number may be greater than two.

[0060] The corresponding coding system has stored therein datarepresenting sequences of instructions which when executed cause theabove-described method to be performed. The coding system generallyincludes parallel-to-serial transfer means, interleaver means, encodermeans, puncturing means, mapper means, and mode control means, which aregenerally implemented by a processor or other electronic circuitry.

[0061] Bit-Level Turbo Encoder Protecting A Few LSB Bits. For ADSLcommunication systems, there is a choice between using symbol-levelturbo TCM or bit-level turbo TCM. However, in terms of decodingcomplexity, bit-level turbo TCM is superior for the following reasons.Firstly, symbol-level turbo TCM uses two-dimensional, four dimensional,or eight-dimensional set partitioning mapping at the encoder end. Forvery large constellations, this kind of set partitioning mappingtypically requires a very complicated receiver de-mapper. Secondly, asymbol MAP decoder is typically more complicated than a bit MAP decoder.Thirdly, the complexity of a bit-level turbo coded QAM scheme may bereduced by protecting only a few least significant information bits. Infact, the decoder's length and complexity are proportional to the numberof information bits. For example, consider 2¹⁴ QAM. If only four leastsignificant bits are protected and a coding rate ½ convolutional encoderis used as a component encoder, then the computational complexity of thedecoder will be approximately six times lower than the computationalcomplexity of a scheme where all bits are protected.

[0062] Referring to FIG. 1, there is shown a block diagram of a turbocoding system 100 in accordance with one embodiment of the invention.The turbo coding system 100 is suitable for application in ADSLcommunication systems. The turbo coding system 100 processes informationbits 110 consisting of parallel bits 120 and encoding bits 130, andincludes turbo encoder means 140, puncturing means 150 which generatescoded bits 160, and Gray mapping and QAM modulation means 170. Thesemeans may be implemented by a processor or other electronic circuitry.The turbo coding system 100 may include a memory or other storagestructure having stored therein data representing sequences ofinstructions which when executed cause the method described herein to beperformed (for example, microcode or a computer program). Of course, theturbo coding system 100 may contain additional software and hardware adescription of which is not necessary for understanding the invention.

[0063] A portion of the information bits 110, referred to as theparallel bits 120, are mapped by the QAM modulator 170 to the signalconstellation point directly without any coding. The remaining portionof the information bits 110, referred to as encoding bits 130, are codedby the turbo encoder 140. The parallel bits 120 and coded bits 160 aremapped into one QAM signal by the QAM modulator 170. In order to achieveboth low computation complexity for the de-mapper and good performance,a method in which two independent one-dimensional mappings withconcatenated Gray mapping is used. This method will be described below.

[0064] Two Independent One-Dimensional Mappings. In typical prior artbit-level turbo coded QAM schemes, all the transmitted bits areprotected by a turbo encoder. These transmitted bits may be eithersystematic bits or parity bits. The de-mapper in typical prior artschemes has to calculate soft information for all the transmitted bits.In the method and system of the present invention, the transmitted bitsto be mapped to a QAM symbol are of three categories: parallel bits(i.e., that are not protected by the turbo code), systematic bits, andparity bits. In the method and system of the present invention, thereceiver de-mapper only needs to calculate the soft information for thesystematic and parity bits. For example, in the case of turbo TCM, for2¹⁴ (16384) QAM, with the present invention only 4 soft bits need becalculated rather than 14 soft bits.

[0065] The de-mapper calculates the soft information bits from thereceived constellation signal for the turbo decoder by calculating$\begin{matrix}{\lambda_{k,j} = {\log \frac{\sum\limits_{S_{m} \in S^{+}}{p\left( {S_{m}/r_{k}} \right)}}{\sum\limits_{S_{n} \in S^{-}}{p\left( {S_{n}/r_{k}} \right)}}}} & (1)\end{matrix}$

[0066] where λ_(k,j) is the jth soft bit in the kth QAM symbol, S⁺ isthe constellation signal set corresponding to the jth bit set to “1”, S⁻is the constellation signal set corresponding to the jth bit set to “0”,and r_(k) is the received complex sample for the kth QAM symbol.

[0067] Now, let M represent the number of information bits. For a 2^(M)QAM constellation, the size of S⁺ or S⁻ is 2^(M−1) (i.e., assuming a twodimensional set-partitioning mapping) and thus can be very large for alarge M. As a result, the soft bit calculation in Equation (1) becomescomputationally intense. However, if one-dimensional mapping is used,the size of S⁺ or S⁻ becomes 2^(M/2−1). This results in a complexitysaving factor of 2^(M/2), as shown in TABLE 1 below. For largeconstellations, this complexity saving can be very significant. Notethat the number of addition and multiplication operations for the softbit calculation is proportional to the size of S⁺ or S⁻ which isapproximately as large as a multiple of 16384 for a 16384 QAM signal.TABLE 1 Complexity Comparison of 1D and 2D Mapping M 2D mapping 1Dmapping Saving factor 8 128 8 16 10 512 16 32 12 2048 32 64 14 8192 64128

[0068] Concatenated Gray Mapping. In order to achieve good performance,the present invention employs a mapping scheme which will be referred toas “concatenated Gray mapping”. In concatenated Gray mapping, two Graymappings (e.g., inner and outer Gray mappings) are concatenatedserially. The inner mapping is for the turbo coded bits that includeboth systematic bits and parity bits, and the outer mapping is for theuncoded parallel bits.

[0069] Referring to FIG. 2, there are shown three line diagrams 200 ofthree examples of this mapping technique, namely, for 4-ASK 210 (Graymapping), 8-ASK 220 (set partition mapping plus Gray mapping), and16-ASK 230 (concatenated Gray mapping). In these examples, the two leastsignificant bits are coded bits and are used for inner Gray mapping, andthe remaining bits are used for outer Gray mapping. Since the two leastsignificant bits are either systematic bits or parity bits, the Graymapping can provide equal protection for them. Furthermore, the minimumEuclidean distance for the uncoded parallel bits is also maximized bythe outer Gray mapping. Therefore, this technique ensures good errorprotection for the encoded bits and the uncoded parallel bits. Adetailed example of this mapping technique is provided below.

[0070] Turbo Coded QAM System with Coding Rate R=2m/(2m+2). Referring toFIG. 3, there is shown a block diagram of a turbo coding system 300 withcoding rate 2m/(2m+2), where m>0, in accordance with another embodimentof the invention. Here, the turbo coded QAM system with coding rateR=2m/(2m+2) is used to transmit an even number of information bits inone QAM symbol. In this embodiment, 2m information bits u 310, 311, 312,313, 314 are transmitted in each 2^(2m+2) QAM signal produced by the QAMmapper 320. Two identical recursive systematic convolutional (“RSC”)encoders 330, 340 with coding rate ½ are employed. Parallel-to-serialconverter 305 and interleaver 370 are employed. The outputs of the twoencoders 330, 340 are four parity bits 331, 341 for two information bits(u₁, u₂) 313, 314 and are punctured alternatively (i.e., with differentpuncturing phase) by puncturing units 350, 360. For every twoinformation bits (u₁, u₂) 313, 314, two parity bits are left afterpuncturing. One parity bit pu₁ 351 is the parity bit for u₁ 314, and theother parity bit pu₂′ 361 is the parity bit for the version of u₂ 313interleaved by the interleaver 370. Now, in order to have equalprotection for all information bits, it would be desirable that eachinformation bit have one parity bit. This requires that the interleaver370 permutates the bits at even number positions to even numberpositions and that it permutates the bits at odd number positions to oddnumber positions. The two vectors (v₀, v₁, . . . , v_(m)) 380 and (w₀,w₁, . . . , w_(m)) 390 will be mapped by the QAM mapper 320 into two2^(m+1)-ASK signals independently. For low data rates, if the uncodedbits are absent, (v₀, v₁) 380 or (w₀, w₁) 390 may be mapped into one 4QAM signal or two BPSK signals.

[0071] In addition, this embodiment employs “concatenated Gray mapping”.The vector (v₀, v₁, . . . , v_(m)) 380 consists of coded bits (V₀,v₁)=(pu₂′, u₁) and uncoded bits (v₂, v₃, . . . , v_(m)). As discussedabove in reference to FIG. 2, the coded bits (v₀, v₁) may form an innerGray mapping and the uncoded bits (v₂, v₃, . . . , v_(m)) may form anouter Gray mapping. These two mappings are then concatenated.

[0072] TABLE 2 through TABLE 7 below illustrate the relationship betweenQAM size, parallel bits and encoded bits, and puncturing pattern andpuncturing rate. In these tables, the subscript of the symbol “d”represents the index of QAM symbols in the time domain. The turbo codedQAM system of this embodiment may be used for at least the following:

[0073] 1. Coding rate {fraction (2/4)} 16 QAM with bandwidth efficiencyof 2 bits/Hz;

[0074] 2. Coding rate {fraction (4/6)} 64 QAM with bandwidth efficiencyof 4 bits/Hz;

[0075] 3. Coding rate {fraction (6/8)} 256 QAM with bandwidth efficiencyof 6 bits/Hz;

[0076] 4. Coding rate {fraction (8/10)} 1024 QAM with bandwidthefficiency of 8 bits/Hz;

[0077] 5. Coding rate {fraction (10/12)} 4096 QAM with bandwidthefficiency of 10 bits/Hz;

[0078] 6. Coding rate {fraction (12/14)} 16384 QAM with bandwidthefficiency of 12 bits/Hz; and

[0079] 7. Coding rate ½ 4 QAM with bandwidth efficiency of 1 bits/Hz.TABLE 2 Puncturing and Mapping for 16QAM with Rate 2/4 (transmitting 2bits) Information data d_(k) d₁ ¹, d₂ ¹ Encoder input data d₁ ¹ d₂ ¹Parity bit from encoder 1 p₁ ¹ — Parity bit from encoder 2 — P₂ ¹ 4ASKsymbol (I) (d₁ ¹, p₁ ¹) 4ASK symbol (Q) (d₂ ¹, p₂ ¹) 16QAM (d₁ ¹, p₁ ¹,d₂ ¹, p₂ ¹)

[0080] TABLE 3 Puncturing and Mapping for 64QAM with Rate 4/6(transmitting 4 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹*Encoder input data d₁ ¹ d₂ ¹ Parity bit from encoder 1 p₁ ¹ — Parity bitfrom encoder 2 — p₂ ¹ 8ASK symbol (I) (d₃ ¹, d₁ ¹, p₁ ¹) 8ASK symbol (Q)(d₄ ¹, d₂ ¹, p₂ ¹) 64QAM (d₃ ¹, d₁ ¹, p₁ ¹, d₄ ¹, d₂ ¹, p₂ ¹)

[0081] TABLE 4 Puncturing and Mapping for 256QAM with Rate 6/8(transmitting 6 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹* Encoder input data d₁ ¹ d₂ ¹ Parity bit from encoder 1 p₁ ¹ —Parity bit from encoder 2 — P₂ ¹ 16ASK symbol (I) (d₅ ¹, d₃ ¹, d₁ ¹, p₁¹) 16ASK symbol (Q) (d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) 256QAM (d₅ ¹, d₃ ¹, d₁ ¹,p₁ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹)

[0082] TABLE 5 Puncturing and Mapping for 1024QAM with Rate 8/10(transmitting 8 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹* Encoder input data d₁ ¹ d₂ ¹ Parity bit fromencoder 1 p₁ ¹ — Parity bit from encoder 2 — P₂ ¹ 32ASK symbol (I) (d₇¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 32ASK symbol (Q) (d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂¹) 1024QAM (d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹)

[0083] TABLE 6 Puncturing and Mapping for 4096QAM with Rate 10/12(transmitting 10 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹, d₉ ¹, d₁₀ ¹* Encoder input data d₁ ¹ d₂ ¹ Paritybit from encoder 1 p₁ ¹ — Parity bit from encoder 2 — P₂ ¹ 64ASK symbol(I) (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 64ASK symbol (Q) (d₁₀ ¹, d₈ ¹,d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) 4096QAM (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₁₀¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹)

[0084] TABLE 7 Puncturing and Mapping for 16384QAM with Rate 12/14(transmitting 12 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹, d₉ ¹, d₁₀ ¹, d₁₁ ¹, d₁₂ ¹* Encoder input data d₂ ¹d₂ ¹ Parity bit from encoder 1 p₁ ¹ — Parity bit from encoder 2 — p₂ ¹128ASK symbol (I) (d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 128ASKsymbol (Q) (d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) 16384QAM (d₁₁ ¹,d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂¹, p₂ ¹)

[0085] Turbo Encoder with Coding Rate R=(2m+1)/(2m+2) for MQAM (M 16).Referring to FIG. 4, there is shown a block diagram of a turbo codingsystem 400 with coding rate (2m+1)/(2m+2), where m>0, in accordance withanother embodiment of the invention. Here, the turbo coded QAM systemwith coding rate R=(2m+1)/(2m+2) is used to transmit an odd number ofinformation bits in one QAM symbol. In this embodiment, 2m+1 informationbits 410, 411, 412, 413, 414 are transmitted in each 2^(2m+2) QAM signalgenerated by the QAM mapper 420. For every three information bits 412,413, 414 passed into the two RSC encoders 430, 440, six parity bits 431,441 are generated. Parallel-to-serial converter 405 and interleaver 470are again employed. The parity bits generated by each RSC encoder arepunctured by the puncturing units 450, 460 with the puncturing rate ⅚(i.e., 5 of 6 parity bits are punctured). The two puncturing phases (orpatterns) used by the puncturing units 450, 460 are offset three bitsfrom each other. The unpunctured bits remaining after the two puncturingunits 450, 460 are multiplexed by the multiplexer 495 to obtain theremaining parity bits. For each group of three information bits (u₁, u₂,u₃) 412, 413, 414, one parity bit v₀ 496 is generated. The parallel bitsand coded bits are mapped by the QAM mapper 420 into a one-dimensionalASK signal using concatenated Gray mapping as described above and asillustrated in FIG. 2.

[0086] TABLE 8 through TABLE 13 below illustrate the relationshipbetween QAM size, parallel bits and encoded bits, and puncturing patternand puncturing rate. In these tables, the subscript of the symbol “d”represents the index of QAM symbols in the time domain. The turbo codedQAM system of this embodiment may be used for at least the following:

[0087] 1. Coding rate ¾ 16 QAM with bandwidth efficiency of 3 bits/Hz;

[0088] 2. Coding rate ⅚ 64 QAM with bandwidth efficiency of 5 bits/Hz;

[0089] 3. Coding rate ⅞ 256 QAM with bandwidth efficiency of 7 bits/Hz;

[0090] 4. Coding rate {fraction (9/10)} 1024 QAM with bandwidthefficiency of 9 bits/Hz;

[0091] 5. Coding rate {fraction (11/12)} 4096 QAM with bandwidthefficiency of 11 bits/Hz; and

[0092] 6. Coding rate {fraction (13/14)} 16384 QAM with bandwidthefficiency of 13 bits/Hz. TABLE 8 Puncturing and Mapping for 16QAM withRate 3/4 (transmitting 3 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹,d₁ ², d₂ ², d₃ ² Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₁ ² d₂ ² d₃ ² Paritybit from encoder 1 — p₂ ¹ — — — — Parity bit from encoder 2 — — — — p₂ ²— 4ASK symbol (I) (d₃ ¹, d₁ ¹) (d₃ ², d₁ ²) 4ASK symbol (Q) (d₂ ¹, p₂ ¹)(d₂ ², p₂ ²) 16QAM (d₃ ¹, d₁ ¹, d₂ ¹, p₂ ¹) (d₃ ², d₁ ², d₂ ², p₂ ²)

[0093] TABLE 9 Puncturing and Mapping for 64QAM with Rate 5/6(transmitting 5 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ²* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₁ ²d₂ ² d₃ ² Parity bit from encoder 1 — p₂ ¹ — — — — Parity bit fromencoder 2 — — — — p₂ ² — 8ASK symbol (I) (d₅ ¹, d₃ ¹, d₁ ¹) (d₅ ², d₃ ²,d₁ ²) 8ASK symbol (Q) (d₄ ¹, d₂ ¹, p₂ ¹) (d₄ ², d₂ ², p₂ ²) 64QAM (d₅ ¹,d₃ ¹, d₁ ¹, (d₅ ², d₃ ², d₁ ², d₄ ¹, d₂ ¹, p₂ ¹) d₄ ², d₂ ², p₂ ²)

[0094] TABLE 10 Puncturing and Mapping for 256QAM with Rate 7/8(transmitting 7 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ², d₆ ², d₇ ²* Encoder inputdata d₁ ¹ d₂ ¹ d₃ ¹ d₁ ² d₂ ² d₃ ² Parity bit from encoder 1 — p₂ ¹ — —— — Parity bit from encoder 2 — — — — p₂ ² — 16ASK symbol (I) (d₇ ¹, d₅¹, d₃ ¹, d₁ ¹) (d₇ ², d₅ ², d₃ ², d₁ ²) 16ASK symbol (Q) (d₆ ¹, d₄ ¹, d₂¹, p₂ ¹) (d₆ ², d₄ ², d₂ ², p₂ ²) 256QAM (d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, d₆ ¹,(d₇ ², d₅ ², d₃ ², d₁ ², d₆ ², d₄ ¹, d₂ ¹, p₂ ¹) d₄ ², d₂ ², p₂ ²)

[0095] TABLE 11 Puncturing and Mapping for 1024QAM with Rate 9/10(transmitting 9 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹, d₉ ¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ² d₆ ¹, d₇ ¹, d₈², d₉ ²* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₁ ² d₂ ² d₃ ² Parity bitfrom encoder 1 — p₂ ¹ — — — — Parity bit from encoder 2 — — — — p₂ ² —32ASK symbol (I) (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₉ ², d₇ ², d₅ ², d₃ ²,d₁ ²) 32ASK symbol (Q) (d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) (d₈ ², d₆ ², d₄ ²,d₂ ², p₂ ²) 1024QAM (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, (d₉ ², d₇ ², d₅ ², d₃², d₁ ², d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) d₈ ², d₆ ², d₄ ², d₂ ², p₂ ²)

[0096] TABLE 12 Puncturing and Mapping for 4096QAM with Rate 11/12(transmitting 11 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹, d₉ ¹, d₁₀ ¹, d₁₁ ¹, d₁ ², d₂ ², d₃ ² d₄ ², d₅ ², d₆², d₇ ² d₈ ², d₉ ², d₁₀ ², d₁₁ ²* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₁ ²d₂ ² d₃ ² Parity bit from encoder 1 — p₂ ¹ — — — — Parity bit fromencoder 2 — — — — p₂ ² — 64ASK symbol (I) (d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃¹, d₁ ¹) (d₁₁ ², d₉ ², d₇ ², d₅ ², d₃ ², d₁ ²) 64ASK symbol (Q) (d₁₀ ¹,d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) (d₁₀ ², d₈ ², d₆ ², d₄ ²,d₂ ², p₂ ²)4096QAM (d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, (d₁₁ ², d₉ ², d₇ ², d₅ ²,d₃ ², d₁ ², d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) d₁₀ ², d₈ ², d₆ ², d₄², d₂ ², p₂ ²)

[0097] TABLE 13 Puncturing and Mapping for 16384QAM with Rate 13/14(transmitting 11 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹, d₉ ¹, d₁₀ ¹, d₁₁ ¹, d₁₂ ¹, d₁₃ ¹, d₁ ² d₂ ², d₃ ²d₄ ², d₅ ², d₆ ², d₇ ² d₈ ², d₉ ², d₁₀ ², d₁₁ ² d₁₂ ², d₁₃ ²* Encoderinput data d₁ ¹ d₂ ¹ d₃ ¹ d₁ ² d₂ ² d₃ ² Parity bit from encoder 1 — p₂¹ — — — — Parity bit from encoder 2 — — — — p₂ ² — 128ASK symbol (I)(d₁₃ ¹, d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₁₃ ², d₁₁ ², d₉ ², d₇ ²,d₅ ², d₃ ², d₁ ²) 128ASK symbol (Q) (d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂¹, p₂ ¹) (d₁₂ ², d₁₀ ², d₈ ², d₆ ², d₄ ²,d₂ ², p₂ ²) 16384QAM (d₁₃ ¹,d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, (d₁₃ ², d₁₁ ², d₉ ², d₇ ², d₅ ², d₃², d₁ ², d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₂ ¹) d₁₂ ², d₁₀ ², d₈ ²,d₆ ², d₄ ², d₂ ², p₂ ²)

[0098] Universal Implementation of Turbo Coded QAM for MQAM. Referringto FIG. 5, there is shown a block diagram of a universal turbo codingsystem 500 using mode control with coding rates 2m/(2m+2) and(2m+1)/(2m+2), where m>0, in accordance with another embodiment of theinvention. Here, a universal implementation system applicable to theembodiments illustrated in FIG. 3 and FIG. 4 for coding ratesR=2m/(2m+2) and R=(2m+1)/(2m+2) is described. The puncture rate for eachRSC encoder 530, 540 is either P=½ for coding rate R=2m/(2m+2) or P=⅚for coding rate R=(2m+1)/(2m+2). This puncture rate is controlled by amode control signal 565 having states corresponding to even and oddnumbers of information bits 510, 511, 512, 513, 514. The mode controlsignal may be generated by a control unit 560. The parity bits from thetwo conventional encoders 530, 540 are evenly and alternativelypunctured by the puncturing unit 550. The parallel-to-serial transfermeans (“P/S”) 505 is also controlled by the mode control signal 565,which will control whether u₃ 512 is used or not by the P/S transferunit 505 and the encoders 530, 540. An interleaver 570 is againemployed. The constellation mapper 520 is also controlled by the modecontrol signal 565, which will indicate the position of the leastsignificant bit. Finally, the bits passed into the RSC encoders 530, 540and their parity bits are grouped into two 2-bit vectors (v₀, v₁) and(w₀, w₁) 580, 590. Then, (v₀, v₁, . . . , v_(m)) and (w₀, w₁, . . . ,w_(m)) 580, 590 are mapped by the QAM mapper 520 into an ASK signalformat, if a large constellation MQAM (i.e., M16) is used, or they aremapped into one 4 QAM signal or two BPSK signals, if 4 QAM or BPSK isemployed.

[0099] General Coded QAM Using Any Turbo Codes. The embodimentsdiscussed above in reference to the turbo coded QAM systems of FIG. 3,FIG. 4, and FIG. 5 used double parallel concatenated convolutionalencoders, with each encoder employing a coding rate ½ convolutionalencoder. However, the invention may make use of different kinds of turbocodes (e.g., a parallel concatenated convolutional encoder with eachencoder using a coding rate other than ½, a multiple parallelconcatenated convolutional encoder [refer to D. Divsalar and F. Pollara,“Multiple Turbo Codes for Deep-Space Communications”, JPL TDA ProgressReport 42-121, May 15, 1995], serial concatenated turbo codes [refer toS. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, “SerialConcatenation of Interleaved Codes: Performance Analysis, Design, andIterative Decoding”, JPL TDA Progress Report 42-126, Aug. 15, 1996],etc.). For many of the following figures, the numbered elements in thefigures that are not described correspond generally to those elementswith similar numbers and/or labels as discussed in detail above withreference to other figures.

[0100] Referring to FIG. 6, there is shown a block diagram of a generalturbo coding system 600 using any turbo coding method with coding rate2m/(2m+2), where m>0, in accordance with another embodiment of theinvention. In this embodiment, any kind of turbo code may be used for anoverall coding rate of 2m/(2m+2). For every QAM symbol produced by theQAM mapper 620, two parity bits are used, the number of input bits 613,614 to the turbo encoder 630 is two, and the number of parity bits afterpuncturing by the puncturing unit 650 is two. This embodiment has anoutput/input ratio 666 of {fraction (2/2)}.

[0101] Referring to FIG. 7, there is shown a block diagram of a generalturbo coding system 700 using any turbo coding method with coding rate(2m+1)/(2m+2), where m>0, in accordance with another embodiment of theinvention. In this embodiment, any kind of turbo code may be used for anoverall coding rate of (2m+1)/(2m+2). For every QAM symbol produced bythe QAM mapper 720, one parity bit is used, the number of input bits712, 713, 714 to the turbo encoder 730 is three, and the number ofparity bits after puncturing by the puncturing unit 750 is one. Thisembodiment has an output/input ratio 766 of ⅓.

[0102] Referring to FIG. 8, there is shown a block diagram of auniversal turbo coding system 800 using mode control and any turbocoding method with coding rates 2m/(2m+2) and (2m+1)/(2m+2), where m>0,in accordance with another embodiment. In this embodiment, any turbocode may be used for coding rates 2m/(2m+2) and (2m+1)/(2m+2). Thisembodiment employs mode control signal 865.

[0103] Coded QAM Using Turbo Product Codes and Low-Density Parity Check(LDPC) Codes. Other powerful coding schemes such as turbo product codes(refer to D. Chase, “A Class of Algorithms for Decoding Block Codes”,IEEE Trans. Inform. Theory, Vol. IT-18, pp. 170-182, January 1972; andR. Pyndiah, “Near Optimum Decoding of Product Codes: Block Turbo Codes”,IEEE Trans. Commun., Vol. COM-46, No. 8, pp. 1003-1010, August 1998) andlow-density parity check (LDPC) codes (refer to R. G. Gallager,“Low-Density Parity Check Codes”, IRE Trans. Inform. Theory, vol. IT-8,pp. 21-28, January 1962; D. J. C. Mackay and R. M. Neal, “Near ShannonLimit Performance of Low Density Parity Check Codes”, Electron. Lett.,vol. 32, No. 18, pp. 1645-1646, August 1996; and D. J. C. Mackay, “GoodError-Correcting Codes Based on Very Sparse Matrices”, IEEE Tran.Inform. Theory, vol. 45, No. 2, pp. 399-431, March 1999) may also beused in the coded QAM system of the present invention.

[0104] Referring to FIG. 9, there is shown a block diagram of a turboproduct or low-density parity check (“LDPC”) coding system 900 withcoding rate 2m/(2m+2), where m>0, in accordance with another embodimentof the invention. In this embodiment, a turbo product code or LDPCencoder 930 for the coding rate (2m+1)/(2m+2) is employed.

[0105] Referring to FIG. 10, there is shown a block diagram of a turboproduct or low-density parity check (“LDPC”) coding system 1000 withcoding rate (2m+1)/(2m+2), where m>0, in accordance with anotherembodiment of the invention. In this embodiment, a turbo product code orLDPC encoder 1030 for the coding rate (2m+1)/(2m+2) is employed.

[0106] Referring to FIG. 11, there is shown a block diagram of auniversal turbo product or low-density parity check (“LDPC”) codingsystem 1100 using a mode control signal 1165 with coding rates 2m/(2m+2)and (2m+1)/(2m+2), where m>0, in accordance with another embodiment ofthe invention. In this embodiment, a turbo product code or LDPC encoder1130, with mode control signal 1165, for the coding rates 2m/(2m+2) and(2m+1)/(2m+2) is employed.

[0107] Extension Case: More Coded Bits for Turbo Codes with Coding RateR=2m/(2m+2). Although the number of coded bits to be mapped to Q ispreferably two as described in the preceding embodiments, this number isnot limited to two and may be greater. However, in practice, coding morethan six bits may be counterproductive as the puncturing required maylead to diminished performance of the turbo code.

[0108] Referring to FIG. 12, there is shown a block diagram of a turbocoding system 1200 with coding rate 2m/(2m+2), where m>0, where the fourleast significant bits are encoded by turbo codes, and where thepuncturing rate is ¾, in accordance with another embodiment of theinvention. In this embodiment, three coded bits are used in PAM mapping.Four information bits 1212, 1213, 1214, 1215 are inputted to two turboencoders 1230, 1240 generating eight parity bits. At the output 1231,1241 of the two encoders 1230, 1240, the parity bits are punctured bypuncturing units 1250, 1260 with puncturing rate ¾ (i.e., three paritybits are punctured out of four bits). The puncturing phases for the twoencoders 1230, 1240 are offset by two bits. For every four informationbits (u₁, u₂, u₃, u₄) 1212, 1213, 1214, 1215, two parity bits (w₀, v₀)1251, 1261 remain after puncturing. The two vectors (v₀, v₁, . . .v_(m)) and (w₀, w₁, . . . w_(m)) 1280, 1290 are mapped by the QAM mapper1220 into two 2^(m+1)-ASK signals independently using “concatenated Graymapping”. The coded bits (v₀, v₁, v₂) (or (w₀, w₁, w₂)) consisting ofsystematic bits (v₁, v₂) (or (w₁, w₂)) and one parity bit v₀ (or w₀) useGray mapping and the uncoded bits (v₃, v₄, . . . , v_(m)) (or (w₃, w₄, .. . , w_(m))) use Gray mapping.

[0109] TABLE 14 through TABLE 18 below illustrate the relationshipbetween QAM size, parallel bits and encoded bits, and puncturing patternand puncturing rate. In these tables, the subscript of the symbol “d”represents the index of QAM symbols in the time domain. In addition,other codes such as LDPC codes and product turbo codes may be used inthe manner of the embodiment described above in association with FIG. 9but where the input bits are (u₁, u₂, u₃, u₄). The turbo coded QAMsystem of this embodiment may be used for at least the following:

[0110] 1. Coding rate {fraction (4/6)} 64 QAM with bandwidth efficiencyof 4 bits/Hz;

[0111] 2. Coding rate {fraction (6/8)} 256 QAM with bandwidth efficiencyof 6 bits/Hz;

[0112] 3. Coding rate {fraction (8/10)} 1024 QAM with bandwidthefficiency of 8 bits/Hz;

[0113] 4. Coding rate {fraction (10/12)} 4096 QAM with bandwidthefficiency of 10 bits/Hz; and

[0114] 5. Coding rate {fraction (12/14)} 16384 QAM with bandwidthefficiency of 12 bits/Hz.

[0115] As mentioned above, this system may be extended to encode sixinformation bits by using a puncturing rate of ⅚ with an offset of threebits. TABLE 14 Puncturing and Mapping for 64QAM with Rate 4/6(transmitting 4 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ Parity bit from encoder 1 p₁ ¹ —— — Parity bit from encoder 2 — — p₃ ¹ — 8ASK symbol (I) (d₃ ¹, d₁ ¹, p₁¹) 8ASK symbol (Q) (d₄ ¹, d₂ ¹, p₃ ¹) 64QAM (d₃ ¹, d₁ ¹, p₁ ¹, d₄ ¹, d₂¹, p₃ ¹)

[0116] TABLE 15 Puncturing and Mapping for 256QAM with Rate 6/8(transmitting 6 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ Parity bit from encoder1 p₁ ¹ — — — Parity bit from encoder 2 — — p₃ ¹ — 16ASK symbol (I) (d₅¹, d₃ ¹, d₁ ¹, p₁ ¹) 16ASK symbol (Q) (d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) 256QAM(d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹)

[0117] TABLE 16 Puncturing and Mapping for 1024QAM with Rate 8/10(transmitting 8 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₆ ¹, d₇ ¹, d₈ ¹* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ Parity bitfrom encoder 1 p₁ ¹ — — — Parity bit from encoder 2 — — p₃ ¹ — 32ASKsymbol (I) (d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 32ASK symbol (Q) (d₈ ¹, d₆ ¹,d₄ ¹, d₂ ¹, p₃ ¹) 1024QAM (d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₈ ¹, d₆ ¹, d₄¹, d₂ ¹, p₃ ¹)

[0118] TABLE 17 Puncturing and Mapping for 4096QAM with Rate 10/12(transmitting 10 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, . . . , d₉ ¹, d₁₀ ¹* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ Paritybit from encoder 1 p₁ ¹ — — — Parity bit from encoder 2 — — p₃ ¹ — 64ASKsymbol (I) (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 64ASK symbol (Q) (d₁₀ ¹,d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) 4096QAM (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹)

[0119] TABLE 18 Puncturing and Mapping for 16384QAM with Rate 12/14(transmitting 12 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, . . . , d₁₁ ¹, d₁₂ ¹* Encoder input data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ Paritybit from encoder 1 p₁ ¹ — — — Parity bit from encoder 2 — — p₃ ¹ — 64ASKsymbol (I) (d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹) 64ASK symbol (Q)(d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) 4096QAM (d₁₁ ¹, d₉ ¹, d₇ ¹,d₅ ¹, d₃ ¹, d₁ ¹, p₁ ¹, d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹)

[0120] Extension Case: More Coded Bits of Turbo Codes with Coding RateR=(2m+1)/(2m+2). Referring to FIG. 13, there is shown a block diagram ofa turbo coding system 1300 with coding rate (2m+1)/(2m+2), where m>0,where the six least significant bits are encoded by turbo codes, andwhere the puncturing rate is {fraction (9/10)}, in accordance withanother embodiment of the invention. In this embodiment, three codedbits are again used in PAM mapping. Five information bits 1312, 1313,1314, 1315, 1316 are inputted to two turbo encoders 1330, 1340generating ten parity bits. At the outputs 1331, 1341 of the twoencoders 1330, 1340, the parity bits are punctured by the puncturingunits 1350, 1360 with puncturing rate {fraction (9/10)} (i.e., nineparity bits are punctured out of ten bits). The puncturing phases forthe two encoders 1330, 1340 are offset by five bits. For every fiveinformation bits (u₁, u₂, u₃, u₄, u₅) 1313, 1313, 1314, 1315, 1316, oneparity bit v₀ 1396 is left after puncturing by the puncturing units1350, 1360. The two vectors (v₀, v₁, . . . , v_(m)) and (w₀, w₁, . . . ,w_(m)) 1380, 1390 will be mapped 1320 into two 2^(m+1)-ASK signalsindependently using “concatenated Gray mapping”. The coded bits (v₀, v₁,v₂) consisting of systematic bits (v₁, v₂) and one parity bit v₀ useGray mapping, the coded bits (systematic bits only) (w₀, w₁, w₂) useGray mapping, and the uncoded bits (v₃, v₄, . . . , v_(m)) (or (w₃, w₄,. . . , w_(m))) use Gray mapping.

[0121] TABLE 19 through TABLE 23 below illustrate the relationshipbetween QAM size, parallel bits and encoded bits, and puncturing patternand puncturing rate. In these tables, the subscript of the symbol “d”represents the index of QAM symbols in the time domain. In addition,other codes such as LDPC codes and product turbo codes may be used inthe manner of the embodiment described above in association with FIG. 10but where the input bits are (u₁, u₂, u₃, u₄, u₅). The turbo coded QAMsystem of this embodiment may be used for at least the following:

[0122] 1. Coding rate ⅚ 64 QAM with bandwidth efficiency of 5 bits/Hz;

[0123] 2. Coding rate ⅞ 256 QAM with bandwidth efficiency of 7 bits/Hz;

[0124] 3. Coding rate {fraction (9/10)} 1024 QAM with bandwidthefficiency of 9 bits/Hz;

[0125] 4. Coding rate {fraction (11/12)} 4096 QAM with bandwidthefficiency of 11 bits/Hz; and

[0126] 5. Coding rate {fraction (13/14)} 16384 QAM with bandwidthefficiency of 13 bits/Hz.

[0127] Again, this system may be extended to coding seven informationbits by using a puncturing rate of {fraction (13/14)} with an offset of7 bits.

[0128] Furthermore, and in the manner of the embodiment described abovein association with FIG. 8, a universal implementation may be obtainedfor the embodiments described in association with FIG. 12 and FIG. 13for turbo codes. Moreover, and in the manner of the embodiment describedabove in association with FIG. 11, a universal implementation may beobtained for the embodiments described in association with FIG. 12 andFIG. 13 for LDPC and product codes. TABLE 19 Puncturing and Mapping for64QAM with Rate 5/6 (transmitting 5 bits) Information data d_(k) d₁ ¹,d₂ ¹, d₃ ¹, d₄ ¹, d₅ ¹ d₁ ², d₂ ², d₃ ², d₄ ², d₅ ² Encoder input datad₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ d₅ ¹ d₁ ² d₂ ² d₃ ² d₄ ² d₅ ² Parity bit fromencoder 1 p₃ ¹ Parity bit from encoder 2 p₃ ² 8ASK symbol (I) (d₅ ¹, d₃¹, d₁ ¹) (d₅ ², d₃ ², d₁ ²) 8ASK symbol (Q) (d₄ ¹, d₂ ¹, p₃ ¹) (d₄ ², d₂², p₃ ²) 64QAM (d₅ ¹, d₃ ¹, d₁ ¹, (d₅ ², d₃ ², d₁ ², d₄ ¹, d₂ ¹, p₃ ¹)d₄ ², d₂ ², p₃ ²)

[0129] TABLE 20 Puncturing and Mapping for 256QAM with Rate 7/8(transmitting 7 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ², . . . , d₇ ¹* . . . , d₇ ²* Encoderinput data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ d₅ ¹ d₁ ² d₂ ² d₃ ² d₄ ² d₅ ² Parity bitfrom encoder 1 p₃ ¹ Parity bit from encoder 2 p₃ ² 8ASK symbol (I) (d₇¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₇ ², d₅ ², d₃ ², d₁ ²) 8ASK symbol (Q) (d₆ ¹, d₄¹, d₂ ¹, p₃ ¹) (d₆ ², d₄ ², d₂ ², p₃ ²) 64QAM (d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹,(d₇ ², d₅ ², d₃ ², d₁ ², d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) d₆ ², d₄ ², d₂ ², p₃ ²)

[0130] TABLE 21 Puncturing and Mapping for 1024QAM with Rate 9/10(transmitting 9 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ², . . . , d₉ ¹* . . . , d₉ ²* Encoderinput data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ d₅ ¹ d₁ ² d₂ ² d₃ ² d₄ ² d₅ ² Parity bitfrom encoder 1 p₃ ¹ Parity bit from encoder 2 p₃ ² 32ASK symbol (I) (d₉¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₉ ², d₇ ², d₅ ², d₃ ², d₁ ²) 32ASK symbol(Q) (d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) (d₈ ², d₆ ², d₄ ², d₂ ², p₃ ²)1024QAM (d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹, (d₉ ², d₇ ², d₅ ², d₃ ², d₁ ², d₈¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) d₈ ², d₆ ², d₄ ², d₂ ², p₃ ²)

[0131] TABLE 22 Puncturing and Mapping for 4096QAM with Rate 11/12(transmitting 11 bits) Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅¹, d₁ ², d₂ ², d₃ ², d₄ ², d₅ ², . . . , d₁₁ ¹* . . . , d₁₁ ²* Encoderinput data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ d₅ ¹ d₁ ² d₂ ² d₃ ² d₄ ² d₅ ² Parity bitfrom encoder 1 p₃ ¹ Parity bit from encoder 2 p₃ ² 32ASK symbol (I) (d₁₁¹, d₉ ¹, d₇ ¹, d₅ ¹, (d₁₁ ², d₉ ², d₇ ², d₅ ², d₃ ¹, d₁ ¹) d₃ ², d₁ ²)32ASK symbol (Q) (d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, (d₁₀ ², d₈ ², d₆ ², d₄ ², d₂¹, p₃ ¹) d₂ ², p₃ ²) 1024QAM (d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, (d₁₁ ², d₉ ², d₇², d₅ ², d₃ ¹, d₁ ¹, d₁₀ ¹, d₈ ¹, d₃ ², d₁ ², d₁₀ ², d₈ ², d₆ ¹, d₄ ¹,d₂ ¹, p₃ ¹) d₆ ², d₄ ², d₂ ², p₃ ²)

[0132] TABLE 23 Puncturing and Mapping for 16384QAM with Rate 13/14(transmitting 13 bits) *NOTE: d₆ ¹, d₇ ¹,..., d₁₃ ¹ and d₆ ², d₇ ²,...,d₁₃ ² do not go through the convolutional encoder in order to reduce thedecoder complexity Information data d_(k) d₁ ¹, d₂ ¹, d₃ ¹, d₄ ¹, d₅ ¹,..., d₁₃ ^(1*) d₁ ², d₂ ², d₃ ², d₄ ², d₅ ², ..., d₁₃ ^(2*) Encoderinput data d₁ ¹ d₂ ¹ d₃ ¹ d₄ ¹ d₅ ¹ d₁ ² d₂ ² d₃ ² d₄ ² d₅ ² Parity bitfrom encoder 1 p₃ ¹ Parity bit from encoder 2 p₃ ² 64ASK symbol (I) (d₁₃¹, d₁₁ ¹, d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₁₃ ², d₁₁ ², d₉ ², d₇ ², d₅ ²,d₃ ², d₁ ²) 64ASK symbol (Q) (d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃¹) (d₁₂ ², d₁₀ ², d₈ ², d₆ ², d₄ ², d₂ ², p₃ ²) 16384QAM (d₁₃ ¹, d₁₁ ¹,d₉ ¹, d₇ ¹, d₅ ¹, d₃ ¹, d₁ ¹) (d₁₃ ², d₁₁ ², d₉ ², d₇ ², d₅ ², d₃ ², d₁², d₁₂ ¹, d₁₀ ¹, d₈ ¹, d₆ ¹, d₄ ¹, d₂ ¹, p₃ ¹) d₁₂ ², d₁₀ ², d₈ ², d₆ ²,d₄ ², d₂ ², p₃ ²)

[0133] Referring to FIG. 8, the method of one embodiment of theinvention will now be described. With this method turbo codes may beeffectively used in ADSL communication systems. At a Step 1, Minformation bits 810, 811, 812, 813, 814 to be transmitted over an ADSLcommunication system are divided into two categories: encoding bits 812,813, 814 and parallel bits 810, 811.

[0134] At a Step 2, after parallel-to-serial transfer by the P/S unit805, the encoding bits 812, 813, 814 are passed into a turbo encoder830. The parallel bits 810, 811 bypass the turbo encoder 830. Theencoder outputs, after puncturing by the puncturing unit 850, are codedbits which consist of systematic bits and parity bits (i.e., either allparity bits or partial parity bits). Alternate turbo codes such asserial concatenated turbo codes or multiple turbo codes may be used.Rather than using a turbo encoder, turbo product codes or LDPC codes maybe used.

[0135] At a Step 3, the coded bits and parallel bits are mapped by theQAM mapper 820 into two PAM signals. For small PAM, there are noparallel bits. The coded bits are used as least significant bits, andthe parallel bits are used as the most significant bits. The number ofcoded bits to be mapped to PAM is preferably two for transmitting aneven number of bits and preferably three for transmitting an odd numberof bits. The mapping of coded bits and parallel bits to PAM signals isperformed using concatenated Gray mapping where concatenated Graymapping is a serial concatenation of an inner Gray mapping and an outerGray mapping. The inner Gray mapping is used for the coded bits. Theouter Gray mapping is used for the parallel bits. To transmit an evennumber of bits, say M=2m bits, preferably 2m−2 bits of the total 2m bitsare parallel bits that will bypass the turbo encoder. The remainingpreferably 2 bits will pass through the turbo encoder. Two parity bitsare generated after puncturing. In this case, the overall bandwidthefficiency is 2m bits/Hz using QAM. To transmit an odd number of bits,say M=2m+1 bits, preferably 2m−2 bits of the total 2m+1 bits areparallel bits that will bypass the turbo encoder. The remainingpreferably 3 bits will pass through the turbo encoder. One parity bit isgenerated after puncturing. In this case, the overall bandwidthefficiency is 2m+1 bits/Hz using QAM. Mode control signal 865 may beemployed in which a first mode may be used for transmitting an evennumber of bits and a second mode may be used for transmitting an oddnumber of bits. Although the number of coded bits to be mapped to PAM ispreferably two, this number may be greater than two.

[0136] At a Step 4, a QAM signal is generated by the QAM mapper 820 fromthe two PAM signals, one for the real part and the other for theimaginary part. The QAM signal is then transmitted over the ADSLcommunication system.

[0137] G.lite and G.dmt ADSL. There have been a number of proposals toapply powerful turbo coding and decoding techniques to G.lite and G.dmtADSL to improve transmission rate and loop reach (refer to C. Berrou andA. Glavieux, “Near Optimum Error Correcting Coding and Decoding:Turbo-Codes”, IEEE Trans. Commun., vol. COM-44, No. 10, October 1996,pp. 1261-1271). Among them, there are two typical turbo TCM schemes. Thefirst is a symbol-level turbo TCM scheme which was proposed by Robertsonand Worz (refer to P. Robertson and T. Worz, “Bandwidth-Efficient TurboTrellis-Coded Modulation Using Punctured Component Codes”, IEEE J-SAC,vol. 16, No. 2, February 1998, pp. 206-218; and “Performance SimulationResults on Turbo Coding”, ITU Standard Contribution, NT-112, Nashville,U.S.A., November 1999). The other is a bit-level turbo TCM scheme (referto “Proposed Evaluation of Proposed TTCM (PCCC) with R-S Code andwithout R-S Code”, ITU Standard Contribution, D.748 (WP1/15), Geneva,Switzerland, April 2000; “Proposal and Performance Evaluation of TTCM(PCCC) with R-S Code”, ITU Standard Contribution, FI-122, Fiji Island,February 2000; and, “New Proposal of Turbo Codes for ADSL Modem”, ITUStandard Contribution, BA-020, Antwerp, Belgium, June 2000). Withrespect to the bit-level scheme, several designs have been proposed(refer to S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara,“Parallel Concatenated Trellis Coded Modulation”, IEEE ICC96, 1996, pp.974-978).

[0138] Referring to FIG. 14, there is shown a block diagram of a bitlevel turbo TCM system 1400 in accordance with the prior art.Information bits 1410 are encoded by two parallel concatenated recursivesystematic convolutional encoders (RSCs) 1420, 1430 with an interleaver1440 between their inputs. The two encoders are identical and have acoding rate of R=½. The respective sets of parity bits output from theencoders are punctured by a puncturing unit 1450 in a predeterminedpattern in order to reduce the parity overhead. Then, the systematicalinformation bits and parity bits are grouped by a bit grouper 1460 andsubsequently mapped into a QAM constellation by QAM mapper 1470.Although this prior art scheme has good error performance, it also hassome drawbacks including the following. First, all information bits arepassed into the convolutional encoders for protection; therefore thenumber of trellis transitions is very large and the decoder is verycomplicated. Second, the puncturing and mapping patterns are differentfor different constellation sizes of QAM, which leads to highimplementation complexity. Third, high coding rates cannot be obtainedfor large constellation sizes because over puncturing will damage thecode; therefore high data rates cannot be achieved.

[0139] According to another embodiment of the invention, a universalturbo TCM system is provided which has both good error performance andlow decoder complexity. In general, this TCM system includes a pair ofrecursive systematic convolutional (RSC) encoders for generating paritybits from input bits, an interleaver for interleaving input bits to theencoders, a puncture unit for determining a puncture rate of the paritybits in response to an even and odd number of information bits, and abit grouping module for receiving the punctured bits and the input bitsand grouping the bits for mapping into a symbol.

[0140] Referring to FIG. 15, there is shown a block diagram of a turboTCM encoder system 1500 with a coding rate of R=½ for 4 QAM or a groupof two 2 QAM in accordance with another embodiment of the invention.This turbo TCM encoder may be used to transmit 1 bit in one 4 QAM symbolor in two 2 QAM symbols. For each information bit 1510, two parity bitsare generated by two recursive systematic convolutional (RSC) encoders1520, 1530. The parity bits generated by each RSC encoder are puncturedby the puncturing unit 1540 alternatively; that is, one half of thetotal parity bits are punctured. The overall coding rate is R=½. Foreach information bit V₂ 1550, one parity bit V₁ 1560 is generated. (V₁,V₂) are mapped by the QAM mapper 1570 into one 4 QAM symbol using Graymapping. The system includes an interleaver 1580 between the twoencoders 1520, 1530.

[0141] Referring to FIG. 16, there is shown a block diagram of a turboTCM encoder system 1600 with a coding rate of R=(2+2m)/(4+2m) for MQAM,where M16 and M=2m, in accordance with another embodiment of theinvention. This turbo TCM encoder system may be used to transmit an evennumber of information bits in one QAM symbol. For every two informationbits (V₃, V₄) 1610, 1620 passed into the RSC encoders 1630, 1640, fourparity bits are generated by these encoders. The parity bits generatedby each RSC encoder are punctured alternatively, that is, one half ofthe total parity bits are punctured by the puncturing units 1650, 1660.For every two information bits (V₃, V₄) 1610, 1620, two parity bits (V₁,V₂) 1670, 1680 are generated. (V₁, V₂, . . . , V_(2m)) are mapped by theQAM mapper 1690 into one QAM symbol using set-partition mapping (referto G. Ungerboeck, “Channel Coding with Multilevel/Phase Signals”, IEEETrans. Inform. Theory, vol. IT-28, No. 1, January 1982, pp. 55-67) andGray mapping. It is preferable that this mapping be operated in onedimension; that is, two halves of (V₁, V₂, . . . , V_(2m)) are mappedinto two 2m-ASK signals. This system may be used for at least thefollowing: coding rate {fraction (2/4)} 16 QAM; coding rate {fraction(4/6)} 64 QAM; coding rate {fraction (6/8)} 256 QAM; coding rate{fraction (8/10)} 1024 QAM; coding rate {fraction (10/12)} 4096 QAM; andcoding rate {fraction (12/14)} 16384 QAM.

[0142] Referring to FIG. 17, there is shown a block diagram of a turboTCM encoder system 1700 with a coding rate of R=(3+2m)/(4+2m) for MQAM,where M16 and M=2m, in accordance with another embodiment of theinvention. This turbo TCM encoder system may is used to transmit an oddnumber of information bits in one QAM symbol. For every 3 informationbits passed into the two RSC encoders 1730, 1740 (after interleaving andmultiplexing as shown), 6 parity bits are generated by the two encoders.The parity bits generated by each RSC encoder are punctured by thepuncturing units 1750, 1760 with a puncturing rate of ⅚; that is, 5 of 6parity bits are punctured. For every three information bits (V₂, V₃,V₄), one parity bit V₁ is generated. (V₁, V₂, . . . , V_(2m)) are mappedby the QAM mapper 1790 into one QAM symbol using set-partition mappingand Gray mapping. It is preferable that this mapping be operated in onedimension; that is, two halves of (V₁, V₂, . . . V_(2m)) are mapped intotwo 2m-ASK signals. This system may be used for at least the following:coding rate ¾ 16 QAM; coding rate ⅚ 64 QAM; coding rate ⅞ 256 QAM;coding rate {fraction (9/10)} 1024 QAM; coding rate {fraction (11/12)}4096 QAM; and coding rate {fraction (13/14)} 16384 QAM.

[0143] Referring to FIG. 18, there is shown a block diagram of auniversal turbo TCM encoder system 1800 for MQAM in accordance withanother embodiment of the invention. Here, the data paths of the systems1600 and 1700 are combined via the interleaver 1810 which interleavesthe bits at even numbered positions to even numbered positions and thebits at odd numbered positions to odd numbered positions. The puncturerate used by the puncturing unit 1840 for each RSC encoder 1820, 1830 iseither ½ or ⅚ which is selected based on the even or odd status of thenumber of information bits. The information bits are passed into the RSCencoders 1820, 1830 and their parity bits are grouped by the bit grouper1850 into 4-bit by 4-bit for MQAM (M>4) or they are grouped by the bitgrouper 1850 into 2-bit by 2-bit for 4 QAM. In general, this embodimentof the invention includes the following: a pair of recursive systematicconvolutional (RSC) encoders 1820, 1830 for generating parity bits frominput bits; an interleaver 1810 for interleaving input bits to theencoders; a puncture unit 1840 for determining a puncture rate for theparity bits in response to the even or odd status of the number ofinformation bits; and a bit grouping module 1850 for receiving thepunctured bits and the input bits and grouping the bits for mapping intoa symbol. The interleaver 1810 may include a pair of interleavers. Thispair of interleavers may be implemented by an interleaver with even andodd patterns. The mapping unit 1860 may implement mapping onetwo-dimensional QAM into two one-dimensional ASK. The mapping unit 1860may implement a mixed Gray mapping and set partition mapping, and themapping unit 1860 may implement concatenated Gray mapping.

[0144] For embodiments of the invention including systems 1600, 1700,and 1800, and with reference to the discussion of concatenated Graymapping and FIG. 2 above, note that two unique mapping schemes may beemployed to achieve better error performance. The first mapping schememay be a mixed Gray mapping with set partition mapping. With thismapping scheme, the mapping of (V₁, V₂, . . . , V_(2m)) into 2^(2m) QAMis operated by mapping each half of (V₁, V₂, . . . , V_(2m)) into one2m-ASK signal. For example, (V₁, V₃, . . . , V_(2m−1)) may be mappedinto one 2m-ASK signal and (V₂, V₄, . . . , V_(2m)) may be mapped intoanother 2m-ASK signal. Again, FIG. 2 illustrates this unique mapping(i.e., set partition plus Gray mapping) for 4-ASK 210 and 8-ASK 220. For4-ASK 210, Gray mapping is employed. For 8-ASK 220, the first mostsignificant bit employs set partition mapping and the two leastsignificant bits employ Gray mapping. For general 2m-ASK, the first(m−2) most significant bits employ set partition mapping and the twoleast significant bits employ Gray mapping. For example, suppose thatB1, B2, . . . , B2m are a mapping for 2m-ASK (m>1), where Bk (1k2m) is an m-bit string, then the mapping for 2m+1-ASK may be generated as 1B1,1B2, . . . , 1B2m, 0B1, 0B2, . . . , 0B2m; that is, a 1 bit is appendedto all B1, B2, . . . , B2m to obtain the first half and a 0 bit isappended to all B1, B2, . . . , B2m to obtain the second half. Thesecond unique mapping scheme may be concatenated Gray mapping. With thissecond scheme, both the coded bits, such as (V₁, V₃) or (V₂, V₄), andthe uncoded bits, such as (V₅, V₇, . . . , V_(2m−1)) or (V₆, V₈, . . . ,V_(2m)), both employ Gray mapping and these mappings are concatenated.For example, for m=4, both (V₁, V₃) and (V₅, V₇) are Gray mappings. Theconcatenated Gray code is illustrated in line diagram 230 of FIG. 2. Thetwo least significant bits are the Gray mapping of coded bits (V₁, V₃),which will repeat every four mappings. The two most significant bits arethe Gray mapping of the uncoded bits (V₅, V₇), which are the same foreach group of 4 mappings.

[0145] Function Block for Small Constellation Sizes. Referring to FIG.19, there is shown a block diagram of a turbo TCM system 1900 inaccordance with the prior art (refer to D. V. Bruyssel, “G.gen:Performance Simulation Results on Turbo Coding”, ITU TelecommunicationStandardization Sector NT-112, Nashville, Tenn., Nov. 1-5, 1999). Inthis scheme, parallel bit streams pass through two parallelconvolutional encoders 1910, 1920. The scheme includes an interleaver1930 located between the encoders. Two sets of coded bits are mapped bythe signal mappers 1940, 1950 into a constellation point independently.The mapped bits from the signal mapper 1950 are then inverse interleavedby the inverse interleaver 1955. These points are then alternatelypassed to the channel by the switch 1960, that is, one constellationpoint is punctured out for a given DMT symbol. One drawback with thisscheme is that it can only support a minimum constellation of size ofeight; that is, it cannot map to bins or subchannels with smallerconstellation sizes of, say, two or four. This may become problematic asloop reach increases and SNR are lowered.

[0146] Referring to FIG. 20, there is shown a block diagram of a turboTCM encoder system 2000 in accordance with another embodiment of theinvention. This system includes a multi-dimensional constellationconstruction function block 2010 which enables smaller constellations tobe grouped together to accommodate a minimum of 3 coded bits. Thefunction block (i.e., tone ordering bin grouping) 2010 is introduced toorder the tones based on constellation sizes and to group themaccordingly to form multi-dimensional constellations. The function block2010 interfaces with the signal mappers 2020, 2030 to controlbits-to-point mapping. The bin grouping may be flexible enough to handledifferent bin loading scenarios. TABLE 24 lists exemplarymulti-dimensional constellation construction scenarios for smallconstellations. TABLE 24 Bin Group Summary (b is the number of bits thata bin [i.e., subchannel] carries) Constellation Case Grouping ScenarioDimension 1 Four b = 1 bins 4 2 Two b = 1 bins and One b = 2 bin 4 3 Twob = 2 bins 4

[0147] This embodiment of the invention may be used with many differentmapping alternatives. In general, for a given encoder, the mappingscheme should give roughly the same error protection for eachconstellation dimension. For example, consider Case 3 from TABLE 24above. Here, one of three coded bits from the encoders, say the bottomone, may be used to select one of the two bins and the remaining twobits may be used to select 4 QAM points in each bin. The added functionblock 2010 allows for the construction of multi-dimensionalconstellations with small constellation sizes of two and four. Thisallows turbo codes to be applied in low SNR environments.

[0148] Although the invention has been described with reference tocertain specific embodiments, various modifications thereof will beapparent to those skilled in the art without departing from the spiritand scope of the invention as outlined in the claims appended hereto andtheir equivalents.

What is claimed is:
 1. A method of encoding a sequence of informationbits in a communication system comprising: dividing said sequence ofinformation bits into encoding bits and parallel bits; encoding saidencoding bits to produce encoded bits; mapping said encoded bits andsaid parallel bits into first and second pulse amplitude modulation(PAM) signals; and generating a quaternary amplitude modulation (QAM)signal from said first and said second PAM signals.
 2. The method ofclaim 1, further comprising: transmitting said QAM signal from saidcommunication system associated with said method of encoding.
 3. Themethod of claim 2, wherein said communication system is an asymmetricdigital subscriber line (ADSL) communication system.
 4. The method ofclaim 1, further comprising: identifying whether a number of saidinformation bits is odd or even.
 5. The method of claim 4, furthercomprising: selecting a mode of operation based on an odd or even statusof said number of said information bits.
 6. The method of claim 5,wherein said mode of operation determines a number of said encodingbits, a puncture pattern used in said encoding, a coding rate used insaid encoding, and a number of said encoded bits and said parallel bitsused in said mapping.
 7. The method of claim 5, wherein said selectingis made between a first mode of operation and a second mode ofoperation.
 8. The method of claim 4, wherein if a number of saidinformation bits is even, a number of said encoding bits is two.
 9. Themethod of claim 4, wherein if a number of said information bits is even,a number of said coding bits is greater than two.
 10. The method ofclaim 4, wherein if a number of said information bits is odd, a numberof said encoding bits is three.
 11. The method of claim 4, wherein if anumber of said information bits is odd, a number of said coding bits isgreater than three.
 12. The method of claim 1, wherein said encoded bitsconsist of systematic bits and parity bits.
 13. The method of claim 12,wherein if a number of said information bits is even, a number of saidsystematic bits is two and a number of said parity bits is two.
 14. Themethod of claim 12, wherein if a number of said information bits is odd,a number of said systematic bits is three and a number of said paritybits is one.
 15. The method of claim 1, wherein said encoding isperformed by a turbo encoder.
 16. The method of claim 1, wherein saidencoding is performed by multiple turbo encoders.
 17. The method ofclaim 1, wherein said encoding is performed by a serial concatenatedturbo encoder.
 18. The method of claim 1, wherein said encoding isperformed by a turbo product code encoder.
 19. The method of claim 1,wherein said encoding is performed by an low density parity check (LDPC)encoder.
 20. The method of claim 1, wherein said mapping includes:forming a first vector and a second vector from said encoded bits andsaid parallel bits.
 21. The method of claim 20, wherein said mappingfurther includes: mapping said first vector to said first PAM signal andmapping said second vector to said second PAM signal.
 22. The method ofclaim 20, wherein each of said first and said second vectors is formedfrom alternate ones of said encoded bits and said parallel bits.
 23. Themethod of claim 22, wherein said alternate ones of said encoded bitsform least significant bits and said alternate ones of said parallelbits form most significant bits of each of said first and said secondvectors.
 24. The method of claim 1, wherein said mapping is aconcatenated Gray mapping.
 25. The method of claim 24, wherein saidconcatenated Gray mapping is a serial concatenation of an inner Graymapping and an outer Gray mapping.
 26. The method of claim 26, whereinsaid inner Gray mapping is applied to said encoded bits and said outerGray mapping is applied to said parallel bits.
 27. An apparatus forencoding a sequence of bits in an asymmetric digital subscriber line(ADSL) system, comprising: a plurality of signal lines configured todivide said sequence of information bits into encoding bits and parallelbits; at least one turbo encoder configured to encode said encoding bitsto produce encoded bits; and a quaternary amplitude modulation (QAM)unit configured to map said encoded bits and said parallel bits intofirst and second pulse amplitude modulation (PAM) signals and togenerate a QAM signal from said first and said second PAM signals. 28.The apparatus of claim 27, further comprising: a control unit configuredto identify whether a number of said information bits is odd or even.29. The apparatus of claim 28, wherein said control unit is furtherconfigured to generate a mode control signal based on an odd or evenstatus of said number of information bits.
 30. The apparatus of claim29, wherein said mode control signal is provided to said at least oneturbo encoder and said QAM unit to determine a number of said encodingbits, a puncture pattern used in said encoding, a coding rate used insaid encoding, and a number of said encoded bits and said parallel bitsused in said mapping.
 31. The apparatus of claim 28, wherein if a numberof said information bits is even, a number of said encoding bits is two.32. The apparatus of claim 28, wherein if a number of said informationbits is even, a number of said coding bits is greater than two.
 33. Theapparatus of claim 28, wherein if a number of said information bits isodd, a number of said encoding bits is three.
 34. The apparatus of claim28, wherein if a number of said information bits is odd, a number ofsaid coding bits is greater than three.
 35. The apparatus of claim 27,wherein said encoded bits consist of systematic bits and parity bits.36. The apparatus of claim 35, wherein if a number of said informationbits is even, a number of said systematic bits is two and a number ofsaid parity bits is two.
 37. The apparatus of claim 35, wherein if anumber of said information bits is odd, a number of said systematic bitsis three and a number of said parity bits is one.
 38. The apparatus ofclaim 27, wherein said at least one turbo encoder comprises multipleturbo encoders.
 39. The apparatus of claim 27, wherein said at least oneturbo encoder comprises at least one serial concatenated turbo encoder.40. The apparatus of claim 27, wherein said at least one turbo encodercomprises at least one turbo product code encoder.
 41. The apparatus ofclaim 27, wherein said at least one turbo encoder comprises a lowdensity parity check (LDPC) encoder.
 42. The apparatus of claim 27,wherein said QAM unit is further configured to form a first vector and asecond vector from said encoded bits and said parallel bits.
 43. Theapparatus of claim 42, wherein said QAM unit is further configured tomap said first vector to said first PAM signal and mapping said secondvector to said second PAM signal.
 44. The apparatus of claim 42, whereinsaid QAM unit is further configured to form each of said first and saidsecond vectors from alternate ones of said encoded bits and saidparallel bits.
 45. The apparatus of claim 44, wherein said QAM unit isfurther configured to use said alternate ones of said encoded bits toform least significant bits and said alternate ones of said parallelbits to form most significant bits of each of said first and said secondvectors.
 46. The apparatus of claim 27, wherein said QAM unit is furtherconfigured to use a concatenated Gray mapping to map said encoded bitsand said parallel bits.
 47. The apparatus of claim 46, wherein said QAMunit is further configured to implement said concatenated Gray mappingas a serial concatenation of an inner Gray mapping and an outer Graymapping.
 48. The apparatus of claim 47, wherein said QAM unit is furtherconfigured to apply said inner Gray mapping to said encoded bits andsaid outer Gray mapping to said parallel bits.